#ifndef WAVEFORMGENERATOR_H
#define WAVEFORMGENERATOR_H
#include <QList>
#include <math.h>

class WaveformGenerator {
private:
	/** 频率 */
	double frequency ;
	/** 采样率 */
	double sampleRate;
	static const double PI;
public:
	WaveformGenerator();
	/** 波形生成器，frequency:频率; sampleRate:采样率 */
	WaveformGenerator(double frequency, double sampleRate);
	/**
	 * 生成一段固定长度的波形
	 * length 生成波形的长度
	 * */
	double *generate(unsigned long);

	/**
	 * 生成时间一段波形
	 * time 波形持续时间
	 * */
	double *generateByMillisecond(double time);

	/**
	 * 生成一段波形
	 * length 生成波形的长度
	 * */
	double *generateByCycle(double cycle);
};

#endif // WAVEFORMGENERATOR_H
